package com.jingbian.cppccbackend.entity.vo;

import com.jingbian.cppccbackend.entity.Meetings;
import com.jingbian.cppccbackend.entity.Users;
import lombok.*;

import java.util.List;
import java.time.LocalDateTime;

@Data
public class MeetingDetailVO {
    // 会议基本信息
    private Meetings meetingInfo;
    
    // 签到统计
    private Integer totalParticipants;    // 总参会人数
    private Integer signedCount;          // 已签到人数
    private Integer unsignedCount;        // 未签到人数
    
    // 参会人详细信息
    private List<ParticipantInfo> participants;

    // 会议附件信息
    private List<AttachmentInfo> attachments;

    @Getter
    @Setter
    @ToString
    @NoArgsConstructor
    @AllArgsConstructor
    public static class ParticipantInfo {
        private Integer uid;              // 用户ID
        private String uname;             // 用户名
        private String phone;             // 电话
        private String gender;            // 性别
        private String ethnicity;         // 民族
        private String birthDate;         // 出生日期
        private String unit;              // 单位
        private String identity;          // 身份
        private String affiliation;       // 所属机构
        private String region;            // 地区
        private String reservedInfo;      // 预留信息
        private String userStatus;        // 用户状态
        private String registrationTime;  // 注册时间
        private String updateTime;        // 更新时间
        private String mpStatus;          // 参会状态
        private String reason;            // 未签到原因
        private Users userInfo;           // 用户信息
        private String status;            // 签到状态
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class AttachmentInfo {
        private Integer aid;              // 附件ID
        private String filePath;          // 文件路径
        private String fileName;          // 文件名
        private LocalDateTime uploadTime; // 上传时间
    }
} 